//线程局部存储
#include <iostream>
using namespace std;
#include <pthread.h>
#include <unistd.h>
#include <vector>
#define NUM 5
//int value=10;
__thread int value=10;//线程的局部存储
__thread int pid;
void* testvalue(void* args)
{
    value++;
    int a=10;
   // printf("value is:%d , value address is:%p, thread pid is: %d\n",value,&value,getpid());
    printf("a address is : %p\n",&a);
    sleep(1);
    return nullptr;
}
int main()
{
    vector<pthread_t> tids;
    for(int i=0;i<NUM;i++)
    {
        pthread_t tid;
        pthread_create(&tid,nullptr,testvalue,nullptr);
        tids.push_back(tid);
    }
    for(int i=0;i<NUM;i++)
    {
        pthread_join(tids[i],nullptr);
    }
    return 0;
}